Part Number Hot Search : 
0F401 405DH3 SP300 UF1002 2SK36 NL8060 EMK31 0F401
Product Description
Full Text Search
 

To Download UM2071 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  december 2016 docid029370 rev 3 1 / 56 www.st.com UM2071 user manual bluenrg - 1 development kit introduction the bluenrg - 1 is a low power bluetooth? smart system on chip, compliant with the bluetooth? v4.2 specification and supporting master, slave and simultaneous master - and - slave roles. the following bluenrg - 1 kits are available: 1. bluenrg - 1 development platform (order code: steval - idb007v1) the steval - idb007v1 also provides a set of hardware resources for a wide range of application scenarios: sensor data (accelerometer, pressure and temperat ure sensor), remote control (buttons and leds) and debug message management through usb virtual com. three power options are available (usb only, battery only and external power supply plus usb) for high application development and testing flexibility. fig ure 1 : steval - idb007v1 development platform
contents UM2071 2 / 56 docid029370 rev 3 contents 1 getting started ................................ ................................ ................ 7 1.1 kit contents ................................ ................................ ...................... 7 1.2 syste m requirements ................................ ................................ ....... 7 1.3 bluenrg - 1 development kit setup ................................ ................... 7 2 hardware description ................................ ................................ ..... 8 2.1 steval - idb007v1 board overview ................................ ................. 8 2.2 bluenrg - 1 soc c onnections ................................ ........................... 9 2.3 power supply ................................ ................................ .................. 11 2.4 jumpers ................................ ................................ ......................... 12 2.5 sensors ................................ ................................ .......................... 12 2.6 extension connector ................................ ................................ ....... 12 2.7 push - buttons ................................ ................................ .................. 12 2.8 jtag connector ................................ ................................ ............. 12 2.9 leds ................................ ................................ .............................. 13 2.10 stm32l151cbu6 microcontroller ................................ .................. 13 2.11 current measurements ................................ ................................ .. 13 2.12 hardware setup ................................ ................................ .............. 13 3 bluenrg - 1 navigator ................................ ................................ ... 14 3.1 bluenrg - 1 navigator demonstration applications ...................... 14 3.1.1 bluenrg - 1 navigator basic examples ................................ .......... 16 3.1.2 bluenrg - 1 navigator ble demonstration and test applications .. 16 3.1.3 bluenrg - 1 navigator peripherals driver examples ...................... 17 3.2 bluenrg - 1 navigator development kits ................................ ...... 17 3.2.1 bluen rg - 1 navigator release notes and license ..................... 18 4 bluenrg - 1 flasher utility ................................ ............................ 19 4.1 system requirements and installation ................................ ............ 19 4.2 main user interface window ................................ ............................ 19 4.2.1 main menu items ................................ ................................ ............. 20 4.2.2 image file selection ................................ ................................ .......... 20 4.2.3 image file tab ................................ ................................ ................ 21 4.2.4 device memory tab ................................ ................................ ........ 21 4.2.5 using bluenrg - 1 flash er utility with other boards ......................... 22 5 programming with bluenrg - 1 system on chip .......................... 24
UM2071 contents docid029370 rev 3 3 / 56 5.1 software directory structure ................................ ........................... 24 6 bluenrg - 1 beacon demonstration application .......................... 25 6.1 ble b eacon application setup ................................ ....................... 25 6.1.1 initialization ................................ ................................ ...................... 25 6.1.2 define advertising data ................................ ................................ .... 25 6.1.3 entering non - connectable mode ................................ ..................... 25 7 bluenrg - 1 chat demo application ................................ .............. 27 7.1 peripheral and central device setup ................................ ............... 27 7.1.1 initialization ................................ ................................ ...................... 27 7.1.2 add service and characteristics ................................ ....................... 28 7.1.3 enter connectable mode ................................ ................................ .. 28 7.1.4 connection with cen tral device ................................ ........................ 28 8 bluenrg - 1 chat master and slave demo application ................ 30 8.1 bluenrg - 1 chat master and slave roles ................................ ........ 30 8.1.1 initialization ................................ ................................ ...................... 30 8.1.2 add service and characteris tics ................................ ....................... 31 8.1.3 start discovery procedure ................................ ............................... 31 8.1.4 enter connectable mode ................................ ................................ .. 31 8.1.5 connection with chat master and slave client device ...................... 31 9 bluenrg - 1 remote control demo application ............................. 32 9.1 ble remote control application setup ................................ ............. 32 9.1.1 initialization ................................ ................................ ...................... 32 9.1.2 define advertising data ................................ ................................ .... 33 9.1.3 add service and c haracteristics ................................ ....................... 33 9.1.4 connection with a ble central device ................................ ............ 33 10 bluenrg - 1 sensor profile demo ................................ .................. 34 10.1 bluenrg app for smartphones ................................ ...................... 35 10.2 bluenrg - 1 sensor profile demo: connection with a central device 35 10.2.1 initialization ................................ ................................ ...................... 35 10.2.2 add service and characteri stics ................................ ....................... 36 10.2.3 enter connectable mode ................................ ................................ .. 36 10.2.4 connection with central device ................................ ........................ 36 11 bluenrg - 1 se nsor profile central demo ................................ ..... 37 12 bluenrg - 1 hid/hogp demonstration application ..................... 38 12.1 ble hid/hogp mouse demonstration application ........................ 38
contents UM2071 4 / 56 docid029370 rev 3 12.2 ble hid/hogp keyboard demonstration application .................... 38 13 bluenrg - 1 throughput demonstration application ................... 39 13.1 ble unidirectional throughput scenario ................................ .......... 39 13.2 ble bidirectional throughput scenario ................................ ............ 39 14 ble notification consumer demonstration application ............. 41 15 bluenrg - 1 peripheral driver examples ................................ ...... 42 15.1 adc exa mples ................................ ................................ ............... 42 15.2 gpio examples ................................ ................................ .............. 42 15.3 i2c examples ................................ ................................ .................. 43 15.4 micro examples ................................ ................................ .............. 43 15.5 rtc examples ................................ ................................ ............... 44 15.6 spi examples ................................ ................................ ................. 44 15.7 systick examples ................................ ................................ .......... 45 15.8 timers examples ................................ ................................ ............ 45 15.9 uart examples ................................ ................................ ............. 47 15.10 wdg examples ................................ ................................ .............. 47 16 schematic diagrams ................................ ................................ ..... 48 17 revision history ................................ ................................ ........... 55
UM2071 list of tables docid029370 rev 3 5 / 56 list of tables table 1: steval - idb007v1 board component descriptions ................................ ................................ ..... 9 table 2: bluenrg - 1 pin description with board functions ................................ ................................ .......... 9 table 3: steval - idb007v1 kit platform power supply modes ................................ ................................ 11 table 4: steval - idb007v1 kit platform jumpers ................................ ................................ .................... 12 table 5: bluenrg - 1 beacon advertising manufacturing data ................................ ................................ .. 25 table 6: serial port conf iguration ................................ ................................ ................................ .............. 27 table 7: ble remote advertising data ................................ ................................ ................................ ...... 32 table 8: document revision history ................................ ................................ ................................ .......... 55
list of figures UM2071 6 / 56 docid029370 rev 3 list of figures figure 1: steval - idb007v1 development platform ................................ ................................ ................. 1 figure 2: steval - idb007v1 board components ................................ ................................ ...................... 8 figure 3: bluenrg - 1 navigator ................................ ................................ ................................ ................ 14 figure 4: ble beacon application ................................ ................................ ................................ ............ 15 figure 5: ble beacon flash programming ................................ ................................ ............................... 15 figure 6: ble beacon documentation ................................ ................................ ................................ ...... 16 figure 7: basic examples ................................ ................................ ................................ ......................... 16 figure 8 : ble demonstration and test applications ................................ ................................ .................. 17 figure 9: peripherals driver examples ................................ ................................ ................................ ...... 17 figure 10: steval - idb007v1 kit components ................................ ................................ ....................... 18 figure 11: bluenrg - 1 flasher utility ................................ ................................ ................................ ........ 19 figure 12: bluenrg - 1 flasher utility main window ................................ ................................ .................. 20 figure 13: bluenrg - 1 flasher utility file selection ................................ ................................ ................... 21 figure 14: bluenrg - 1 flasher utility image file viewer ................................ ................................ ............ 21 figure 15: bluenrg - 1 flasher utility device memory viewer ................................ ................................ ... 22 figure 16: bluenrg - 1 flasher utility changing memory fields ................................ ................................ . 22 figure 17: bluenrg - 1 flasher utility comport setting popup ................................ ................................ 23 figure 18: ble chat client ................................ ................................ ................................ ......................... 29 figure 19: ble chat server ................................ ................................ ................................ ....................... 29 figure 20: bluenrg - 1 sensor demo gatt database ................................ ................................ .............. 34 figure 21: bluenrg sensor app ................................ ................................ ................................ ............... 35 figure 22: steval - idb007v1 arduino connectors ................................ ................................ ................. 48 figure 23: steval - idb007v1 jtag ................................ ................................ ................................ ....... 48 figure 24: steval - idb007v1 bluenrg - 1 ................................ ................................ .............................. 49 figure 25: steval - idb007v1 power management, sensors ................................ ................................ .. 50 figure 26 : steval - idb007v1 buttons and leds ................................ ................................ ................... 51 figure 27: steval - idb007v1 micro ................................ ................................ ................................ ....... 52 figure 28: steval - idb007v1 usb, level translator, jtag for micro ................................ ..................... 53 figure 29: steval - idb007v1 eeprom ................................ ................................ ................................ . 54
UM2071 getting started docid029370 rev 3 7 / 56 1 getting started 1.1 kit contents the steval - idb007v1 kit includes: ? 1 bluenrg - 1 development platform ? 1 2.4 ghz bluetooth antenna ? 1 usb cable 1.2 system requirements the bluenrg - 1 navigator and flasher pc applications require: ? pc with intel? or amd? processor running one of the following microsoft? operating systems: ? windows xp sp3 ? windows vista ? windows 7 ? at least 128 mb of ram ? usb ports ? at least 40 mb of available hard disk space ? adobe acrobat reader 6.0 or later. 1.3 bluenrg - 1 development kit setup a fter downloading the bluenrg - 1 dk software package (stsw - bluenrg1 - dk) from www.st.com , extract bluenrg - 1_dk - x.x.x - setup.zip contents to a temporary directory, launch bluenrg - 1 - dk - x.x.x - setup.exe and follow the on - screen instructions. ewarm compiler 7.70 or later is required for building the bluenrg1_dk_x.x.x demonstration applications. keil mdk - arm and atollic - true studio toolchains are also supported.
hardware description UM2071 8 / 56 docid029370 rev 3 2 hardware description 2.1 steval - idb007v1 board overview the bluenrg - 1 board in the steval - idb007v1 development kit lets you experiment wi th bluenrg - 1 system on chip functions. it features: ? bluetooth? smart board based on the bluenrg - 1 bluetooth low energy system on chip ? associated bluenrg - 1 development kit sw package including firmware and documentation ? up to +8 dbm available output power ( at antenna connector) ? excellent receiver sensitivity ( - 88 dbm) ? very low power consumption: 7.7 ma rx and 8.3 ma tx at - 2 dbm ? bluetooth? low energy v4.2 compliant, supports master, slave and simultaneous master - and - slave roles ? integrated balun which integr ates a matching network and harmonics filter ? sma connector for antenna or measuring equipment ? 3 user leds ? 2 user buttons ? 3d digital accelerometer and 3d digital gyroscope ? mems pressure sensor with embedded temperature sensor ? battery holder ? jtag debug connector ? usb to serial bridge for providing i/o channel with the bluenrg - 1 device ? jumper for measuring current for bluenrg - 1 only ? rohs compliant the following figure and table describe physical sections of the board. figure 2 : ste val - idb007v1 board components
UM2071 hardware description docid029370 rev 3 9 / 56 table 1: steval - idb007v1 board component descriptions region description a bluenrg - 1 system on chip c micro usb connector for power supply and i/o o jtag connector m reset button n two user buttons h lps25hb mems pressure sensor with embedded temperature i lsm6ds3 3d digital accelerometer and 3d digital gyroscope g pwr led p three user leds back of the pcb battery holder for two aaa batteries j, l two rows of arduino - compliant connectors s integ rated balun with matching network and harmonics filter q stm32l151cbu6 48 - pin microcontroller (usb to serial bridge for i/o channel to pc communication) (1) r st2378e level translator to adapt voltage level between stm32 and bluenrg - 1 notes: (1) stm32 is not intended to be programmed by users 2.2 bluenrg - 1 soc connections the bluenrg - 1 very low power bluetooth low energy (ble) single - mode system on chip ( figure 2: "steval - idb007v1 board components" C region a) has 160 kb of flash, 24 kb of ram, a 32 - bit core arm cortex - m0 processor and several peripherals (adc, gpios, i2c, spi, timers, uart, wdg and rtc). the microcontrol ler is connected to various components such as buttons, leds and sensors. the following table describes the microcontroller pin functions. table 2: bluenrg - 1 pin description with board functions pin name pin no board function led micro button pressure sensor 3d accelerometer and gyroscope jtag arduino connectors cn1 cn2 cn3 cn4 dio10 1 jtms - swtdio dio9 2 jtck - swtck dio8 3 txd (pa2) pin 1 io8 pin 2 tx
hardware description UM2071 10 / 56 docid029370 rev 3 pin name pin no board function led micro button pressure sensor 3d accelerometer and gyroscope jtag arduino connectors cn1 cn2 cn3 cn4 dio7 4 dl2 pin 2 io9 pin 6 scl dio6 5 dl1 pin 7 io6 pin 5 sda vbat3 6 dio5 7 sda push2 button pin 9 sda dio4 8 scl pin 10 scl dio3 9 sdo/sa0 pin 5 miso pin 6 io5 dio2 10 sda pin 4 mosi pin 5 io4 dio1 11 cs jtag - tdo pin 3 cs dio0 12 scl jtag - tdi pin 6 sck pin 4 io3 anatest0/dio14 13 dl3 pin 4 ad3 anatest1 14 anatest2 15 anatest3 16 fxtal1 17 fxtal0 18 vbat2 19 rf1 20 rf0 21 sxtal1 22 sxtal0 23 vbat1 24 reset 25 reset reset reset pin 3 nrst pin 8 io7 smpsfilt1 26 smpsfilt2 27
UM2071 hardwa re description docid029370 rev 3 11 / 56 pin name pin no board function led micro button pressure sensor 3d accelerometer and gyroscope jtag arduino connectors cn1 cn2 cn3 cn4 vdd1v2 28 dio13 29 push1 pin 3 ad2 dio12 30 int1 pin 1 ad0 ftest 31 dio11 32 rxd pa3 pin 1 rx pin 3 io2 pin 2 ad1 the board section labeled bluenrg - 1 ( figure 2: "steval - idb007v1 board components" C region b) includes the following main components: ? bluenrg - 1 low power system on chip (in a qfn32 package) ? high frequency 16 mhz crystal ? low frequency 32 khz crystal for the lowest power consumption ? integrated balun which integrates a matching network and harmonics filter ? sma connector for more details, see figure 24: "steval - idb007v1 bluenrg - 1" 2.3 power supply green led dl4 ( figure 2: "steval - idb007v1 board components" C region g) signals the board is being power ed, either via: ? micro usb connector cn5 ( figure 2: "steval - idb007v1 board components" C region c) ? two aaa batteries (region f) ? an external dc power supply plus micro usb connector the following table describes the power sup ply modes available on the steval - idb007v1 board and corresponding jumper settings. table 3: steval - idb007v1 kit platform power supply modes power supply mode jp1 jp2 comment 1 - usb fitted: 1 - 2 fitted: 2 - 3 usb supply through connector cn5 ( figure 2: "steval - idb007v1 board components" C region c) 2 - battery fitted: 2 - 3 fitted: 1 - 2 the supply voltage must be provided through battery pins (region f). 3 - combo fitted: 1 - 2 optional usb supply through connector c n5 for stm32l1; jp2 pin 2 external power for bluenrg - 1
hardware description UM2071 12 / 56 docid029370 rev 3 2.4 jumpers the following jumpers are available: table 4: steval - idb007v1 kit platform jumpers jumper description jp1 1 - 2: to provide power from usb (jp2: 2 - 3) 2 - 3: to provide power from battery holder (jp2: 1 - 2) jp2 1 - 2: to provide power from battery holder (jp1: 2 - 3) 2 - 3: to provide power from usb (jp1: 1 - 2) jp2 pin 2 to vdd to provide external power supply to bluenrg - 1 (jp1: 1 - 2) jp3 pin 1 and 2 uart rx and tx of mcu pin 3 gnd jp4 fitted: to provide vblue to bluenrg - 1. it can be used also for current measurement. jp5 fitted: test pin to vblue not fitted: test pin to gnd 2.5 sensors the following sensors are available on the platform: 1. an lps25hb ( figure 2: "steval - idb007v1 board components" C region h) is a piezoresistive absolute pressure sensor which functions as a digital output barometer. the device comprises a sensing element and an ic interface which communicates through i2c from the sensing element to the application. 2. an lsm6ds3 3d (region i) digital accelerometer and 3d dig ital gyroscope with embedded temperature sensor which communicates via spi interface. one line for interrupt is also connected. 2.6 extension connector bluenrg - 1 signal test points are s hared on two arduino - compliant connector rows: cn1, cn3 ( figure 2: "steval - idb007v1 board components" C region j) and cn2, cn4 (region l). see table 2: "bluenrg - 1 pin description with board functions" . 2.7 push - buttons the board has one user button to reset the microcontroller ( figure 2: "steval - idb007v1 board components" C region m) and two further buttons for application purposes (region n). 2.8 jtag connector a jtag connector ( figure 2: "steval - idb007v1 board components" C region o) allows bluenrg - 1 microcontroller programming and debugging with an in - circuit debugger and programmer such as st - link/v2. only swd mode is supported
UM2071 hardware description docid029370 rev 3 13 / 56 2.9 leds leds dl1 (yellow), dl2 (red), dl3 (blue) and dl4 (green, power led) are available on the board ( figure 2: "steval - idb007v1 board components" C regions g and p). 2.10 stm32l151cbu6 microcontroller the most important feature of the stm32l151cbu6 48 - pin microcontroller ( figure 2: "steval - idb007v1 board components" C regions q) is the usb to serial bridge providing an i/o channel with the bluenrg - 1 device. the microcontroller is connected to the bluenrg - 1 device through an st2378e level translator (region r). the stm32l microcontroller on the board is not intended to be programmed by users. st provides a pre - programmed firmware image for the sole purpose of interfacing bluenrg - 1 to a usb host device (e.g., a pc). 2.11 current measurements to monitor the power consumption of the bluenrg - 1 only, remove the jumper from jp4 and insert an a mmeter between pins 1 and 2 of the connector (when the power is on, remove the usb connection). since power consumption of the bluenrg - 1is usually very low, an accurate instrument in the range of few micro amps is recommended. 2.12 hardware setup 1. connect an antenna to the sma connector 2. configure the board to usb power supply mode as per the jumper settings in table 3: "steval - idb007v1 kit platform power supply modes" 3. connect the board to a pc via usb cable (connector cn5) 4. verify the power indication led dl4 is on.
bluenrg - 1 navigator UM2071 14 / 56 docid029370 rev 3 3 bluenrg - 1 navigator bluenrg - 1 navigator is a user friendly gui which lets you select and run demonstration applications easily, without requiring any extra hardware. with it, you can access the following bluenrg - 1 dk software package components: ? bluenrg - 1 bluetooth low energy (ble) demonstration applications ? bluenrg - 1 peri pheral driver examples ? bluenrg - 1 development kits ? release notes ? license files with bluenrg - 1 dk navigator, you can directly download and run the selected prebuilt application binary image (ble examples or peripheral driver example) on the bluenrg - 1 platfor m without a jtag interface. the interface gives demo descriptions and access to board configurations and source code if needed. you can run the utility through the bluenrg - 1 navigator icon under: start stmicroelectronics bluenrg - 1 dk x.x.x bluenrg - 1 navigator figure 3 : bluenrg - 1 navigator 3.1 bluenrg - 1 navigator demonstration applications you can navigate the menus for the reference/demo application you want to launch. for each application, the following information is provided: ? application settings (if applicable) ? application descrip tion ? application hardware related information (e.g., led signals, jumper configurations, etc.) the following functions are also available for each application: ? flash : to automatically download and run the available prebuilt binary file to a bluenrg - 1 platf orm connected to a pc usb port.
UM2071 bluenrg - 1 navigator docid029370 rev 3 15 / 56 ? doc : to display application documentation (html format) ? project : to open the project folder with application headers, source and project files. the figure below shows you how to run the ble beacon demo application; the other demos function similarly. figure 4 : ble beacon application when a bluenrg - 1 platform is connected to your pc usb port, you can press the flash & run tab on the selected application window to download and run the available pre built application binary image on the bluenrg - 1 platform. figure 5 : ble beacon flash programming selecting the doc tab opens the relative html documentation.
bluenrg - 1 navigator UM2071 16 / 56 docid029370 rev 3 figure 6 : ble beacon documentation 3.1.1 blue nrg - 1 navigator basic examples this page lists some basic sample applications for the bluenrg - 1 device to verify that bluenrg - 1 device is alive as well as the device sleep and wake up modes. figure 7 : basic examples 3.1.2 bluenrg - 1 navigator ble demonstration and test applications this page lists all the available bluetooth low energy (bl e) demonstration applications in the bluenrg - 1 dk software package. these applications provide usage examples of the ble stack features for the bluenrg - 1 device.
UM2071 bluenrg - 1 navigator docid029370 rev 3 17 / 56 figure 8 : ble demonstration and test applications 3.1.3 bluenrg - 1 navigator peripherals driver examples this page lists the available bluenrg - 1 peripherals and corresponding test applications to work with certain features specific to the selected bluenrg - 1 peripheral. figure 9 : peripherals driver examples 3.2 bluenrg - 1 navigator development kits this window displays the available bluenrg - 1 dk kit pla tforms and corresponding resources. when you hovers the mouse pointer over a specific item, the related component is highlighted on the board.
bluenrg - 1 navigator UM2071 18 / 56 docid029370 rev 3 figure 10 : steval - idb007v1 kit components 3.2.1 bluenrg - 1 navigator release notes and l icense as their name suggests, these pages display the bluenrg - 1 dk sw package release notes (html format) and the bluenrg - 1 dk software package license file, respectively.
UM2071 bluenrg - 1 flasher utility docid029370 rev 3 19 / 56 4 bluenrg - 1 flasher utility the bluenrg - 1 flasher utility allows bluenrg - 1 programming using the uart bootloader. 4.1 system requirements and installation the bluenrg - 1 flasher utility pc configuration requires the following minimum characteristics ? a pc with usb port running windows? xp or windows? 7 ? 256 mb ram ? 30 mb free hard disk space you can run this utility by clicking on the bluenrg - 1 flasher icon under: start stmicroelectronics bluenrg - 1 dk x.x.x bluenrg1 flasher figure 11 : bluenrg - 1 flasher utility 4.2 main user interface window in the upper section of the bluenrg - 1 flasher C utility main window, you can: ? select the image file (select file button) ? choose the flashing address (flash from text input bar, on ly enabled for .bin files) ? select the com port to be used to interface the device (port dropdown list)
bluenrg - 1 flasher utility UM2071 20 / 56 docid029370 rev 3 the bluenrg - 1 device memory is read when the associated com port is opened. figure 12 : bluenrg - 1 flasher utility main window 4.2.1 main menu items from the file menu, you can: ? load an existing .bin or .hex (intel extended) file. ? save the current memory image in a .bin file. the start address and the size of the memory section to be saved to file are selectable from the device memory tab. ? close the application. from the tools menu, you can mass erase all the device flash memory. 4.2.2 image file selection use the select file button on the main page (or the file>load menu) to load an existing .bin or .hex file. the full path of the selected file appears next to the button and the fla sh becomes active.
UM2071 bluenrg - 1 flasher utility docid029370 rev 3 21 / 56 figure 13 : bluenrg - 1 flasher utility file selection by default, the mass erase option beside the flash button is not checked, and only the required memory pages are erased and written with the file conten t. when this option is checked, the memory flash phase is preceded by a full mass erase. the verify option forces a check to ensure that the memory content has been written correctly. check the update memory table option to update the device memory table after the flashing operation. this option is automatically checked when the verify checkbox is selected. 4.2.3 image file tab the selected file name, size and parsed contents to be flashed to device memory can be viewed in the image file tab. figure 14 : bluenrg - 1 flasher utility image file viewer 4.2.4 device memory tab select this tab to view the memory contents of a connected device.
bluenrg - 1 flasher utility UM2071 22 / 56 docid029370 rev 3 figure 15 : bluenrg - 1 flasher utility device memory viewer click the read button to transfer the memory segment defined by start address and size into the table. the fir st column gives the base address of the following 16 bytes in a row (e.g., row 0x10040050, column 4 holds the hexadecimal byte value at 0x10040054. you can change byte values by double - clicking a cell and entering a new hexadecimal value; edited bytes appe ar in red. click the write button to flash the entire page with the new byte values into device memory. figure 16 : bluenrg - 1 flasher utility changing memory fields 4.2.5 using bluenrg - 1 flasher utility with other boards the bluenrg - 1 flasher C utility automatically detects bluenrg - 1 evaluation boards like steval - idb007v1 and uses an auxiliary stm32 to (driven by the gui) to reset the bluenrg - 1 and put it into bo otloader mode. the application also works with custom boards providing simple uart access to the bluenrg - 1 device, but you must put the device in bootloader mode manually. upon the selection of any non - steval com port, the following popup appears.
UM2071 bluenrg - 1 flasher utility docid029370 rev 3 23 / 56 figure 17 : bluenrg - 1 flasher utility comport setting popup when this popup appears, set the bluenrg - 1 pin dio7 high and reset the bluenrg - 1 device (keeping the dio7 high); the device should now be in bootloader mode. you can also set a preferred baudrate for the uart in the popup window and then press ok to return to the gui. avoid resetting the device while using the bluenrg - 1 flasher utility unless the comport setting popup is active. if the device is reset, you m ust toggle the com port to use the flasher utility again.
programming with bluenrg - 1 system on chip UM2071 24 / 56 docid029370 rev 3 5 programming with bluenrg - 1 system on chip the bluenrg - 1 bluetooth low energy (ble) stack is provided as a binary library. a set of apis to control ble functionality. some callbacks are also provided for user applications to handle ble stack events. the user is simply requested to link this binary library to his or her application and use the relevant apis to access ble functio ns and complete the stack event callbacks to manage responses according to application requirements. a set of software driver apis is also included for accessing the bluenrg - 1 soc peripherals and resources (adc, gpio, i2c, mftx, micro, rtc, spi, systick, u art and wdg). the development kit software includes sample code demonstrating how to configure bluenrg - 1 and use the device peripherals and ble apis and event callbacks. documentation on the ble apis, callbacks, and peripheral drivers are provided in separ ate documents. 5.1 software directory structure the bluenrg - dk software package files are organized in the following directories: ? application : containing bluenrg - 1 navigator and flasher p c applications. ? doc : with doxygen ble apis and events, bluenrg - 1 peripheral drivers, ble demo applications, bluenrg - 1 peripheral examples, bluenrg - 1 sdk and hal driver documentation, dk release notes and license file. ? firmware : with prebuilt binary ble and peripheral driver sample applications. ? library ? bluetooth le : bluetooth low energy stack binary library and all the definitions of stack apis, stack events callbacks and constants. over - the - air bluetooth low energy firmware upgrade support. ? bluenrg1_periph _driver : bluenrg - 1 drivers for device peripherals (adc, clock, dma, flash, gpio, i2c, timers, rtc, spi, uarr and watchdog). ? cmsis : bluenrg - 1 cmsis files. ? sdk_eval_bluenrg1 : sdk drivers providing an api interface to the bluenrg - 1 platform hardware resources (leds, buttons, sensors, i/o channel). ? hal : hardware abstraction level apis for abstracting certain bluenrg - 1 hardware features (sleep modes, clock based on systick, etc.). ? project ? ble_examples : bluetooth low energy demonstration application including hea ders, source files and ewarm, keil and atollic project files. ? bluenrg1_periph_examples : with sample applications for the bluenrg - 1 peripherals and hardware resources, including headers, source files and project files. ? utility : contains some utilities
UM2071 bluenrg - 1 beacon demonstration application docid029370 rev 3 25 / 56 6 blue nrg - 1 beacon demonstration application the bluenrg - 1 beacon demo is supported by the bluenrg - 1 development platform (steval - idb007v1). it demonstrates how to configure a bluenrg - 1 de vice to advertise specific manufacturing data and allow another ble device to determine whether it is in bluenrg - 1 ble beacon device range. 6.1 ble beacon application setup this section describes how to configure a bluenrg - 1 device to act as a beacon device. 6.1.1 initialization the bluenrg - 1 ble stack must be correctly initialized thus: aci_gatt_init(); aci_gap_init(ga p_peripheral_role, 0, 0x08, &service_handle, &dev_name_char_handle, &appearance_char_handle); see the bluenrg - 1 ble stack documentation for more information on these and following commands. 6.1.2 define advertising data the ble beacon application advertises the following manufacturing data: table 5: bluenrg - 1 beacon advertising manufacturing data data field description notes company identifier code sig company identifier (1) default is 0x0030 (stmicroelectronics) id beacon id fixed value location uuid beacons uuid used to distinguish specific beacons from others major number identifier for a group of beacons used to group a related set of beacons minor number identifier for a single beacon used to identify a single beacon tx power 2's complement of the tx power used to establish how far you are from device notes: (1) available at: https://www.bluetooth.org/en - us/specification/assigned - n umbers/company - identifiers 6.1.3 entering non - connectable mode the ble beacon device uses the gap api command to enter non - connectable mode thus: aci_gap_set_discoverable(adv_nonconn_ind, 160, 160, public_addr, no_white_list_use,0, null, 0, null, 0, 0); to advertise the specific selected manufacturer data, the ble beacon application can use the following gap apis: /* remove tx power level field from the advertising data: it is necessary to have enough space for the beacon manufacturing data */ aci_gap_delete_ad_type(ad_type_tx_power_level);
bluenrg - 1 beacon demonstration ap plication UM2071 26 / 56 docid029370 rev 3 /* define the beacon manufacturing payload */ uint8_t manuf_data[] = {26, ad_type_ manufacturer_specific_data, 0x30, 0x00, //company identifier code (default is 0x0030 - stmicroelectronics) 0x02,// id 0x15,//length of the remaining payload 0xe2, 0x0a, 0x39, 0xf4, 0x73, 0xf5, 0x4b, 0xc4, //location uuid 0xa1, 0x2f, 0x17, 0xd1, 0xad, 0x0 7, 0xa9, 0x61, 0x00, 0x02, // major number 0x00, 0x02, // minor number 0xc8//2's complement of the tx power ( - 56db)}; }; /* set the beacon manufacturing data on the advertising packet */ aci_gap_update_adv_data(27, manuf_data);
UM2071 bluenrg - 1 chat demo application docid029370 rev 3 27 / 56 7 bluenrg - 1 chat demo application the bluenrg - 1 chat demo (server and client roles) is supported on the bluenrg - 1 development platform (steval - idb007v1). it implements simple two - way communication between two bluenrg - 1 devices, demonstrating point - to - point wireless communication using the bluenrg - 1 product. this demo application exposes a single chat service with the following (20 byte max.) characteristic values: ? the tx characteristic, with which the clien t can enable notifications; when the server has data to be sent, it sends notifications with the value of the tx characteristic. ? the rx characteristic, is a writable characteristic; when the client has data to be sent to the server, it writes a value in th is characteristic. there are two device roles which can be selected through the specific project workspace: ? the server that exposes the chat service (ble peripheral device). ? the client that uses the chat service (ble central device). the application requir es two devices to be programmed with respective server and client roles. these must be connected to a pc via usb with an open serial terminal for each device, with the following configurations: table 6: serial port configuration parameter value baudrate 115200 bit/s data bits 8 parity bits none stop bits 1 the application listens for keys typed in one device terminal and sends them to the remote device when the return key is pressed; the remote device then outputs the received rf messages to the seri al port. therefore, anything typed in one terminal becomes visible in the other. 7.1 peripheral and central device setup this section describes how two ble chat devices (server - peripheral and client - central) interact with each other in order to set up a point - to - point wireless chat. bluenrg - 1 must first be set up on both devices by sending a series of api commands to the processor. 7.1.1 initialization the bluenrg - 1 ble stack must be correctly initialized before establishing a connection with another ble device. this is done with aci_gatt_init() and aci_gap_init() apis: aci_gatt_init(); ble chat server role : aci_gap_init(gap_peripheral_role, 0, 0x08, &service_handle, &dev_name_char_handle, &appearance_char_handle); ble chat client role:
bluenrg - 1 chat demo application UM2071 28 / 56 docid029370 rev 3 aci_gap_init(gap_central_role, 0, 0x08, &service_handle, &dev_name_char_handle, &appearance_char_handle); peripheral and ce ntral ble roles must be specified in the aci_gap_init() command. see the bluenrg - 1 ble stack api documentation for more information on these and following commands. 7.1.2 add service and characteristics the chat service is added to the ble chat server device via: aci_gatt_add_service(uuid_type_128, &service_uuid, primary_service, 7,&chatservhandle); where service_uuid is the private service 128 - bit uuid allocated for the chat service (prim ary service). the command returns the service handle in chatservhandle . the tx characteristic is added using the following command on the ble chat server device: aci_gatt_add_char(chatservhandle, uuid_type_128, &charuuidtx, 20, char_prop_notify, attr_permission_none, 0, 16, 1, &txcharhandle); where charuuidtx is the private characteristic 128 - bit uuid allocated for the tx characteristic (notify property). the characteristic handle is returned on the txcharhandle variable. the rx characteristic is added using the following command on the ble chat server device: aci_gatt_add_char(chatservhandle, uuid_type_128, &charuuidrx, 20, char_prop_write|char_prop_write_without_resp, attr_permission_none, gatt_server_attr_write,16, 1, &rxcharhandle); where charu uidrx is the private characteristic 128 - bit uuid allocated for the rx characteristic (write property). the characteristic handle is returned on the rxcharhandle variable. see the bluenrg - 1 ble stack api documentation for more information on these and follo wing commands. 7.1.3 enter connectable mode the server device uses gap api commands to enter the general discoverable mode: aci_gap_set_discoverable(adv_ind, 0, 0, public_addr, no_white_l ist_use,8,local_name, 0, null, 0, 0); the local_name parameter contains the name presented in advertising data, as per bluetooth core specification version 4.2, vol. 3, part c, ch. 11. 7.1.4 connection with central device once the server device is discoverable by the ble chat client device, the client device uses aci_gap_create_connection() to connect with the ble chat server device: aci_gap_create_conn ection(0x4000, 0x4000, public_addr, bdaddr, public_addr, 40, 40, 0, 60, 2000 , 2000); where bdaddr is the peer address of the client device. once the two devices are connected, you can set up corresponding serial terminals and type messages in either of th em. the typed characters are stored in two respective buffers and when the return key is pressed: ? on the ble chat server device, the typed characters are sent to the ble chat client device by notifying the previously added tx characteristic (after notifica tions are enabled) with:
UM2071 bluenrg - 1 chat demo application docid029370 rev 3 29 / 56 aci_gatt_update_char_value(chatservhandle,txcharhandle,0,len, (uint8_t*)cmd+j); ? on the ble chat client device, the typed characters are sent to the ble chat server device by writing the previously added rx characteristic with: aci_ gatt_write_without_resp(connection_handle, rx_handle+1, len, (uint8_t *)cmd+j); where connection_handle is the handle returned upon connection as a parameter of the connection complete event, rx_handle is the rx characteristic handle discovered by the clie nt device. once these api commands have been sent, the values of the tx and rx characteristics are displayed on the serial terminals. figure 18 : ble chat client figure 19 : ble chat server
bluenrg - 1 chat master and slave demo application UM2071 30 / 56 docid029370 rev 3 8 bluenrg - 1 ch at master and slave demo application the bluenrg - 1 chat master and slave demo is supported on the bluenrg - 1 development platform (steval - idb007v1). it demonstrates simple point - to - poi nt wireless communication using a single application which configures the chat client and server roles at runtime. the new chat demo application configures a bluenrg - 1 ble device as central or peripheral using the api: aci_gap_init(gap_central_role|gap_peripheral_role, 0, 0x07, &service_handle, &dev_name_char_handle, &appearance_char_handle); it then initiates a discovery procedure for another bluenrg - 1 ble device configured with the same chat master and slave applicatio n image. if such a device is found within a random interval, it starts a connection procedure and waits until a connection is established. if the discovery procedure time expires without finding another chat master and slave device, the device enters disco very mode and waits for another chat master and slave device to discover and connect to it. when connection is established, the client and server roles are defined and the chat communication channel can be used. this demo application exposes a single chat service with the following (20 byte max.) characteristic values: ? the tx characteristic, with which the client can enable notifications; when the server has data to be sent, it sends notifications with the value of the tx characteristic. ? the rx characterist ic, is a writable characteristic; when the client has data to be sent to the server, it writes a value in this characteristic. the application requires two devices to be programmed with the same application, with the server and client roles defined at runt ime. connect the two devices to a pc via usb and open a serial terminal on both with the same configuration as table 6: "serial port configuration" . the application listens for keys typed in one device terminal and sends th em to the remote device when the return key is pressed; the remote device then outputs the received rf messages to the serial port. therefore, anything typed in one terminal becomes visible in the other. 8.1 bluenrg - 1 chat master and slave roles this section describes how two ble chat master and slave devices interact with each other in order to set up a point - to - point wireless chat. the bluenrg - 1 ble stack must first be set up on both d evices by sending a series of api commands to the processor. the chat master and slave client and server roles are defined at runtime. 8.1.1 initialization the bluenrg - 1 ble stack must be correctly initialized before establishing a connection with another ble device. this is done with two commands: aci_gatt_init(); aci_gap_init(gap_central_role|gap_peripheral_role, true,0x07, &service_handle, &dev_name_char_handle, &appearance_char_handle) ;
UM2071 bluenrg - 1 chat master and slave demo application docid029370 rev 3 31 / 56 the ble peripheral and central roles are specified in the aci_gap_init() command. see the bluenrg - 1 ble api documentation for more information on these and following commands. 8.1.2 add service and characteristics refer to section 7.1.2: " add service and characteristics " . 8.1.3 start discovery procedure to find another bluenrg - 1 ble ch at master and slave device in discovery mode, a discovery procedure must be started via: aci_gap_start_general_discovery_proc(0x4000, 0x4000, 0x00, 0x00); 8.1.4 enter connectable mode the following gap api command is used for entering general discoverable mode: aci_gap_set_discoverable(adv_ind, 0x90, 0x90, public_addr, no_white_list_use, sizeof(local_name), local_name, 0, null, 0x6, 0x8); 8.1.5 connection with chat master and slave client device in the above mentioned discovery and mode assignment procedures, the two chat master and slave applications assume respective client and server roles at runtime. during this initial configuration phase, when a chat master and slave device is placed in discoverable mode and it is found by the other chat master and slave device performing a discovery procedure, a bluetooth low energy connection is created and the device roles are define d. the following gap api command is used for connecting to the discovered device: aci_gap_create_connection(0x4000, 0x4000,device_found_address_type, device_found_address, public_addr, 40, 40, 0, 60, 2000 , 2000); where device_found_address_type is the add ress type of the discovered chat master and slave and device_found_address is the peer address of the discovered chat master and slave device. once the two devices are connected, you can set up corresponding serial terminals and type messages in either of them. the typed characters are stored in two respective buffers and when the return key is pressed: on the ble chat master - and - slave server device, the typed characters are sent to the master - and - slave client device by notifying the previously added tx cha racteristic (after notifications have been enabled). this is done via: aci_gatt_update_char_value(chatservhandle, txcharhandle, 0, len, (uint8_t *)cmd+j); on the master - and - slave client device, the typed characters are sent to the master - and - slave server device, by writing the previously added rx characteristic. this is done via: aci_gatt_write_without_resp (connection_handle, rx_handle +1, len, (uint8_t *)cmd+j); where connection_handle is the handle returned upon connection as a parameter of the connecti on complete event, rx_handle is the rx characteristic handle discovered by the client device. once these api commands have been sent, the values of the tx and rx characteristics are displayed on the serial terminals.
bluenrg - 1 remote control demo application UM2071 32 / 56 docid029370 rev 3 9 bluenrg - 1 remote control demo applicati on the bluenrg - 1 ble remote control application is supported on the bluenrg - 1 development platform (steval - idb007v1). it demonstrates how to control a remote device (like an actuator) using a bluenrg - 1 device. this application periodically broadcasts temperature values that can be read by any device. the data is encapsulated in a manufacturer - specific ad type and the content (besides the manufacturer id, i.e., 0x0030 for stmicroelectro nics) is as follows: table 7: ble remote advertising data byte 0 byte 1 byte2 app id (0x05) temperature value (little - endian) the temperature value is given in tenths of degrees celsius. the device is also connectable and exposes a characteristic used to control leds dl1, dl2 and dl3 on the bluenrg - 1 platform. the value of this characteristic is a bitmap of 1 byte. each bit controls one of the leds: ? bit 0 is the status of led dl1 ? bit 1 is the status of led dl2 ? bit 2 is the status of led dl3. a remote device can therefore connect and write this byte to change or read the status of these leds (1 for led on, 0 for led off). the peripheral disconnects after a timeout ( disconnect_timeout ) to pre vent a central device remaining connected to the device indefinitely. security is not enabled by default, but this can be changed with enable_security (refer to file ble_rc_main.h). when security is enabled, the central device must be authenticated before reading or writing the device characteristic. to interact with a device configured as a bluenrg - 1 ble remote control, another ble device (a bluenrg - 1 or any bluetooth ? smart ready device) can be used to detect and view broadcast data. to control one of the leds, the device has to connect to a bluenrg - 1 ble remote control device and write in the exposed control point characteristic. the service uuid is ed0ef62e - 9b0d - 11e4 - 89d3 - 123b93f75cba. the control point characteristic uuid is ed0efb1a - 9b0d - 11e4 - 89d3 - 123b 93f75cba. 9.1 ble remote control application setup this section describes how to configure a bluenrg - 1 device to acting as a remote control device. 9.1.1 initialization the bluenrg - 1 ble stack must be correctly initialized before establishing a connection with another bluetooth le device. this is done with two commands: aci_gatt_init(); aci_gap_init(gap_peripheral_role, 0, 0x07, &service_handle, &dev_name_char_handle, &appearance_char_handle); see bluenrg - 1 ble stack api documentation for more information on these and following commands.
UM2071 bluenrg - 1 remote control demo application docid029370 rev 3 33 / 56 9.1.2 define advertising data the ble remote control application advertises certain manufacturing data as follows: /* set advertising device name as node */ const uint8_t scan_resp_data[] = {0x05,ad_type_complete_local_name,'n','o','d','e'} /* set scan response data */ hci_le_set_scan_response_data(sizeof(scan_resp_data),scan_resp_data); /* set undirected connectable mode */ aci_gap_set_discoverable(adv_ind, (adv_interval_min_ms*1000)/625, (adv_interval_max_ms*1000)/625, public_addr, no_white_list_use, 0, null, 0, null, 0, 0); /* set advertising data */ hci_le_set_advertising_data(sizeof(adv_data),adv_data); on the bluenrg - 1 development platform (steval - idb007v1), the temperature sensor value is set in the adv_data variable. 9.1.3 add service and characteristics the ble remote control service is added via: aci_gatt_add_service(uuid_type_128, &service_uuid, primary_service, 7, &rcservhandle); where service_uuid is the private service 128 - bit uuid allocated for the ble remote service (ed0ef62e - 9b0d - 11e4 - 89d3 - 123b93f75cba). the command returns the service handle in rcservhandle . the ble remote control characteristic is added using the following command: #if enable _security aci_gatt_add_char(rcservhandle, uuid_type_128, &controlpointuuid, 1, char_prop_read|char_prop_write|char_prop_write_without_resp|ch ar_prop_signed_write, attr_permission_authen_read|attr_permission_authen_write, gatt_notify_attribute_write,16,1,& controlpointhandle); #else aci_gatt_add_char(rcservhandle, uuid_type_128, &controlpointuuid, 1, char_prop_read|char_prop_write|char_prop_write_without_resp, attr_permission_none, gatt_notify_attribute_write, 16, 1,&controlpointhandle); #endif where control pointuuid is the private characteristic 128 - bit uuid allocated for ble remote control characteristic (ed0efb1a - 9b0d - 11e4 - 89d3 - 123b93f75cba) and controlpointhandle is the ble remote control characteristic handle. if security is enabled, the characteristic p roperties must be set accordingly to enable authentication on controlpointuuid characteristic read and write. 9.1.4 connection with a ble central device when connected to a ble central de vice (another bluenrg - 1 device or any bluetooth ? smart ready device), the controlpointuuid characteristic is used to control the ble remote control platform led. each time a write operation is performed on controlpointuuid , the aci_gatt_attribute_modified_ event() callback is raised and the selected leds are turned on or off.
bluenrg - 1 sensor profile demo UM2071 34 / 56 docid029370 rev 3 10 bluenrg - 1 sensor profile demo the bluenrg - 1 sensor profile demo is supported on the bluenrg - 1 development pla tform (steval - idb007v1). it implements a proprietary, bluetooth low energy (ble) sensor profile. this example is useful for building new profiles and applications that use the bluenrg - 1 soc. the gatt profile is not compliant with any existing specificatio ns as the purpose of this project is to simply demonstrate how to implement a given profile. this profile exposes the acceleration and environmental services. figure 20: "bluenrg - 1 sensor demo gatt database" shows the whole gatt database, including the gatt (0x1801) and gap (0x1800) services that are automatically added by the stack. the acceleration services free fall characteristic cannot be read or written, but can be signaled. the application sends noti fication of this characteristic (with a value of 0x01) if a free fall condition is detected by the mems sensor (when the acceleration on the three axes is near zero for a certain amount of time). notifications can be enabled or disabled by writing the asso ciated client characteristic configuration descriptor. the other characteristic exposed by the service gives the current value of the acceleration measured by the accelerometer in six bytes. each byte pair contains the acceleration on one of the three axes . the values are given in mg. this characteristic is readable and can be notified if notifications are enabled. another service is defined, which contains characteristics that expose data from some environmental sensors: temperature and pressure. each char acteristic data type is described in a format descriptor. all of the characteristics have read - only properties. figure 20 : bluenrg - 1 sensor demo gatt database
UM2071 bluenrg - 1 sensor profile demo docid029370 rev 3 35 / 56 10.1 bluenrg app for smartphones an application is available for ios? and android? smartphones or tablets that also works with the bluenrg - 1 ble sensor profile demo. this app enables notification of the acceleration characteristic and displays the value on screen. data from environmental sensors are also periodically read and displayed. figure 21 : bluenrg sensor app 10.2 bluenrg - 1 sensor profile demo: connection with a central device this section describes how to interact with a central device, while the bluenrg - 1 ble stack is acting as a peripheral. the central device may be another bluenrg - 1 device acting as a ble master , or any other bluetooth smart or bluetooth smart ready device. the bluenrg - 1 ble stack must first be set up by sending a series of ble api commands to the processor. 10.2.1 initialization the bluenrg - 1 ble stack must be correctly initialized before establishing a connection with another bluetooth le device. this is done via: aci_gatt_init(); aci_gap_init(gap_peripheral_role, 0, 0x07, &service_handle, &dev_name_char_handle, &appearance_char _handle); see bluenrg - 1 ble stack api documentation for more information on these and following commands.
bluenrg - 1 sensor profile demo UM2071 36 / 56 docid029370 rev 3 10.2.2 add service and characteristics the bluenrg - 1 ble stack has both server and client capabilities. a characteristic is an element in the server database where data is exposed, while a service contains one or more characteristics. the acceleration service is added with the following command: aci_gatt_add_service(uuid_type_128, &ser vice_uuid, primary_service, 7, &accservhandle); the command returns the service handle on variable accservhandle . the free fall and acceleration characteristics must now be added to this service thus: aci_gatt_add_char(accservhandle, uuid_type_128, &char_ uuid, 1, char_prop_notify, attr_permission_none, 16, 0, &freefallcharhandle); aci_gatt_add_char(accservhandle, uuid_type_128, &char_uuid, 6, char_prop_notify|char_prop_read, attr_permission_none, gatt_notify_read_req_and_wait_for_appl_resp, 16, 0, &acccha rhandle); the free fall and acceleration characteristics handles are returned on freefallcharhandle and acccharhandle variables respectively. similar steps are followed for adding the environmental sensor and relative characteristics. 10.2.3 enter connectable mo de use gap api command to enter one of the discoverable and connectable modes: aci_gap_set_discoverable(adv_ind, (adv_interval_min_ms*1000)/625, (adv_interval_max_ms*1000)/625, stati c_random_addr, no_white_list_use sizeof(local_name), local_name, 0, null, 0, 0); where local_name[] = {ad_type_complete_local_name,'b','l','u','e','n','r','g'}; the local_name parameter contains the name presented in advertising data, as per bluetooth core specification version 4.1, vol. 3, part c, ch. 11. 10.2.4 connection with central device once the bluenrg - 1 ble stack is placed in discoverable mode, it can be detected by a central device . the smartphone app described in section 10.1: " bluenrg app for smartphones " is designed for interact with the sensor profile demos (it also supports the bluenrg - 1 device). any bluetooth smart or bluetooth smart ready device like a smartphone can connect to the bluenrg - 1 ble sensor profile demo. for example, the lightblue application in apple store ? connects iphone ? versions 4s/5 and above can connect to the bluenrg - 1 sensor profile device. when you use the lightblue ap plication, detected devices appear on the screen with the bluenrg name. by tapping on the box to connect to the device, a list of all the available services is shown on the screen; tapping a service shows the characteristics for that service. the accelerat ion characteristic can be notified using the following command: aci_gatt_update_char_value(accservhandle, acccharhandle, 0, 6, buff); where buff is a variable containing the three axes acceleration values. once this api command has been sent, the new value of the characteristic is displayed on the phone.
UM2071 bluenrg - 1 sensor profile central demo docid029370 rev 3 37 / 56 11 bluenrg - 1 sensor profile central demo the bluenrg - 1 sensor profile central demo is supported on the blue nrg - 1 development platform (steval - idb007v1). it implements a basic version of the bluenrg - 1 sensor profile central role which emulates the bluenrg - 1 sensor demo applications available for smartphones (ios and android). this application configures a bluenr g - 1 device as a bluenrg - 1 sensor device, central role which is able to find, connect and properly configure the free fall, acceleration and environment sensors characteristics provided by a bluenrg - 1 development platform configured as a bluenrg - 1 sensor de vice, peripheral role (refer to section 10: " bluenrg - 1 sensor profile demo " ). this application uses a new set of apis allowing to perform the following operations on a bluenrg - 1 master/central device: ? master configuration functions ? master device discovery functions ? master device connection functions ? master discovery services, characteristics functions ? master data exchange functions ? master security functions ? master common services functions these apis are provi ded through a binary library and they are fully documented on available doxygen documentation within the bluenrg - 1 dk sw package. the following master/central binary libraries are provided on bluetooth_le \ profile_framework_central \ library folder: ? master_li brary_bluenrg1.lib for iar and keil toolchains ? libmaster_library_bluenrg1.a for atollic toolchain
bluenrg - 1 hid /hogp demonstration application UM2071 38 / 56 docid029370 rev 3 12 bluenrg - 1 hid/hogp demonstration application the bluenrg - 1 hid/hogp demonstration a pplications are supported by the bluenrg - 1 development platform (steval - idb007v1). it demonstrates a bluenrg - 1 device using the standard hid/hogp bluetooth low energy application profile. keyboard and mouse demo examples are provided. 12.1 ble hid/hogp mouse d emonstration application the bluenrg - 1 hid mouse application implements a basic hid mouse with two buttons compliant with the standard hid/hogp ble application profile. the hid mouse device is named stmouse in the central device list. the mouse movements are provided by the 3d accelerometer and 3d gyroscope on the bluenrg - 1 development platform. ? the left button is the push1 button. ? the right button is the push2 button if the hi d mouse is not used for two minutes, it closes the connection and enters deep sleep mode. this idle connection timeout can be changed from the application. to exit deep sleep mode, press the left push1 button or reset the platform. 12.2 ble hid/hogp k eyboard demonstration application the bluenrg - 1 hid keyboard application implements a basic hid keyboard compliant with the standard hid/hogp ble application profile. the hid mouse device is named stkeyboard in the central device list. to successfully complete the bonding and pairing procedure, insert the pin: 123456. to use the hid keyboard: ? connect the bluenrg - 1 development platform to a pc usb port ? open a hyperterminal window (115200, 8, n,1) ? put the cursor focus on the hyperterminal window ? the keys that are sent to the central device using the hid/hogp ble application profile are also shown on the hyperterminal window if the hid keyboard is not used for two minutes, it closes the connect ion and enters deep sleep mode. this idle connection timeout can be changed from the application. to exit deep sleep mode, press the left push1 button or reset the platform.
UM2071 bluenrg - 1 throughput demonstration application docid029370 rev 3 39 / 56 13 bluenrg - 1 throughput demonstration application the bluenrg - 1 throughput demonstration application provides some basic throughput demonstration applications to provide some reference figures regarding the achievable bluetooth low energy data rate using the bluenrg - 1 device. the throughput application scenarios provided are: 1. unidirectional scenario: the server device sends characteristic notifications to a client device. 2. bidirectional scenario: the server device sends characteristic notifications to a client device a nd client device sends write without response characteristics to the server device. the throughput application exposes one service with two (20 byte max.) characteristic values: ? the tx characteristic, with which the client can enable notifications; when th e server has data to be sent, it sends notifications with the value of the tx characteristic. ? the rx characteristic, is a writable characteristic; when the client has data to be sent to the server, it writes a value in this characteristic. the device roles which can be selected are: 1. server, which exposes the service with the tx, rx characteristics (ble peripheral device) 2. client, which uses the service tx, rx characteristics (ble central device). each device role has two instances for each throughput scenari o (unidirectional, bidirectional). the bluenrg - 1 hid/hogp demonstration applications are supported by the bluenrg - 1 development platform (steval - idb007v1). 13.1 ble unidirectional throughput scenario the unidirectional throughput scenario lets you perform a unidirectional throughput test where a server device sends notification to a client device. to run this scenario: ? program the client unidirectional application on one bluenrg - 1 platfor m and reset it. the platform is seen on the pc as a virtual com port. ? open the port in a serial terminal emulator (the required serial port baudrate is 921600) ? program the server unidirectional application on a second bluenrg - 1 platform and reset it. ? the two platforms try to establish a connection; if successful, the slave continuously sends notifications of tx characteristic (20 bytes) to the client. ? after every 500 packets, the measured application unidirectional throughput is displayed. 13.2 ble bidirectional throughput scenario the bidirectional throughput scenario lets you perform a bidirectional throughput test where the server device sends notifications to a client devic e and client device sends write without response characteristics to the server device. to run this scenario:
bluenrg - 1 throughput demonstrat ion application UM2071 40 / 56 docid029370 rev 3 ? program the client bidirectional application on one bluenrg - 1 platform and reset it. the platform is seen on the pc as a virtual com port. ? open th e related port in a serial terminal emulator (the required serial port baudrate is 921600) ? program the server bidirectional application on a second bluenrg - 1 platform and reset it. ? open the related port in a serial terminal emulator (the required serial p ort baudrate is 921600) ? the two platforms try to establish a connection; if successful, the slave device continuously sends notifications of tx characteristic (20 bytes) to the client device and the client device continuously sends write without responses of the rx characteristic (20 bytes) to the server device. ? after every 500 packets, the measured application bidirectional throughput is displayed.
UM2071 ble notification consumer demonstration application docid029370 rev 3 41 / 56 14 ble notification consumer demonstration application the ble ancs demonstration application configures a bluenrg - 1 device as a ble notification consumer, which facilitates bluetooth accessory access to the many notifications generated on a notification provider. after reset, the demo places the bluenrg - 1 in advertising with device name "ancsdemo" and sets the bluenrg - 1 authentication requirements to enable bonding. when the device is connected and bonded with a notification provider, the demo configures the bluenrg - 1 notification consumer dev ice to discover the service and the characteristics of the notification provider. when the setup phase is complete, the bluenrg - 1 device is configured as a notification consumer able to receive the notifications sent from the notification provider. the ble notification consumer demonstration application is supported by the bluenrg - 1 development platform (steval - idb007v1).
bluenrg - 1 peripheral driver examples UM2071 42 / 56 docid029370 rev 3 15 bluenrg - 1 peripheral driver examples the bluenrg - 1 peripheral driver examples applications are supported by the bluenrg - 1 development platform (steval - idb007v1). the kit contains a set of examples demonstrating how to use the bluenrg - 1 device peripheral drivers adc, gpios, i2c, rtc, spi, timers, uart and wdg. 15.1 adc exa mples adc polling : conversion is managed through the polling of the status register. the systick timer is used to have a delay of 100 ms between two samples. each sample from adc is printed through uart (usb - to - serial must be connected to the pc). the default input is the differential adc1 - adc2. adc dma : conversion is managed through the adc dma channel. the systick timer is used to have a delay of 100 ms between two samples. each sam ple from adc is printed through uart (usb - to - serial must be connected to the pc). adc pdm : this example shows a pdm stream processor from a mems microphone (mp34dt01 - m i.e.) to uart. the application also supports the mems microphone mp34dt01 - m available on x - nucleo - cca02mm1 board (refer to related bluenrg - 1 dk sw package adc pdm doxygen documentation for hw connections setup). user is requested to connect the bluenrg - 1 steval - idb007v1 to a pc usb port and open putty serial terminal [512000, 8 - n - 1 - n]. putty serial terminal has to be configured for storing the captured data on a log file. after the data have been captured, the pc audacity tool can been opened for importing the streamed data, following these steps: ? file/import/raw data. ? open the log data. ? confi gure as follows: ? encoding: signed 16 - bit pcm. ? byte order: little - endian. ? channels: 1 channel (mono). ? sample rate: 8000 (default, 16 kbps is supported by changing the firmware symbol fs in adc_pdm_main.c) ? press the button import. ? play the audio. due to the fact that the output data format is 2 - bytes (b1b2), it is possible that the serial terminal gets as first byte, half data (b2). this first byte must be removed from the log file. 15.2 gpio examples input interrupt : demonstrates the use of gpio input interrupts. ? the push1 button (io13) is configured to generate the interrupt event on both edges of the input signal. led dl1 is toggled on if the level is high and off if low. ? the push2 bu tton (io5) is configured to generate the interrupt event on the rising edge of the input signal. led dl2 is toggled on/off at each rising edge event. io toggle : demonstrates gpio state changes by toggling leds dl1 and dl2 every 500 ms. io wakeup : demonstra tes device wakeup from standby mode using the gpio interrupt.
UM2071 bluenrg - 1 peripheral driver examples docid029370 rev 3 43 / 56 ? the push1 button (io13) is configured to generate the interrupt event on both edges of the input signal. led dl2 is toggled, the system becomes active and led dl1 is toggled by the systick inter rupt service routine every 500 ms. once the device is in standby, there is no way to open a connection with the debug tool or download new code as the clocks are down and the system voltages are at their minimum values. it is necessary to wake - up the syste m first, which is why the io9 (sdw clock signal) is wake - up event. in this case, any connection attempt from the debugger wakes up the system. 15.3 i2c examples in all of the following examples, i2c is configured in master mode and its clock frequency is set to 10 khz. master polling : i2c communication is controlled by polling the i2c status register content. this example involves a master board with master_polling firmware code and a sl ave board with slave_polling firmware. the master board has a small command line interface through uart (usb - to - serial must be connected to the pc), which you can use to read and change the led status of the slave board. i2c is used to transfer the informa tion and change the status of the leds on the slave board. slave polling : i2c communication is controlled by polling the i2c status register content. this also involves a master and a slave board with respective master_polling and slave_polling firmware. t he slave board receives read and change requests for the leds via i2c. master sensor : i2c communication is controlled by polling of i2c status register content, interrupts or dma (three different configurations). in this example, the environmental sensor l ps25hb is configured to provide output data at 1 hz. the bluenrg - 1 polls the status register of the sensor and prints available pressure and temperature data via uart (usb - to - serial must be connected to the pc). 15.4 micro examples hello world : example for the basic bluenrg - 1 hello world application. connect the bluenrg - 1 platform to a pc usb port and open a specific pc tool/program (like tera term): the "hello world: bluenrg - 1 is here! " message is displayed. sleep test : this test provides an example for the following bluenrg - 1 sleep modes: ? sleepmode_waketimer places the bluenrg - 1 in deep sleep with the timer clock sources running. the wakeup sources are typing any character on the keyboard, the push1 button or the sleep timer configured with a timeout of 5 s. ? the sleepmode_notimer places the blurnrg - 1 in deep sleep with the sleep timer clock sources turned off. the only wakeup sources are typing any character on the keyboard and the push1 button. the demo supports some user commands: ? s : sleepmode_notimer - wake on uart/push1 ? t : sleepmode_waketimer - wake on uart/timeout 5 s/push1 ? l : toggle led dl1 ? p : print the hello world message ? r : reset the bluenrg - 1 device ? ? : display this help m enu ? push1 : toggle led dl1
bluenrg - 1 peripheral driver examples UM2071 44 / 56 docid029370 rev 3 15.5 rtc examples clock watch: implements both rtc timer and rtc clockwatch. the rtc timer generates the 500 ms interrupt interval. the led dl1 state is toggled in the rtc interrupt handler to signal proper rtc timer operation. the rtc clockwatch is also enabled with the system time and date set to december 1 st 2014, 23 h 59 m 31 s. the rtc clockwatch match registers are then set to december 2 nd 2014, 0 h 0 m 1 s. as soon as the rtc clockwatch data register and match registers coincide (30 s after device power up), the rtc clockwatch match interrupt is generated and led dl2 is toggled to signal the event. time base : the rtc is configured in the periodic timer mode, the load register (rtc_tlr1) value is set and the rtc is enabled. whenever the rtc timer reaches the value 0x00 it generates an interrupt event and the timer value is automatically re - loaded from the rtc_tlr1 register, which is set to generate the interru pt every 1 s. the led dl1 is toggled at each interrupt event. time base pattern : periodic mode is used with a pattern configuration. the rtc is configured in the periodic timer mode and register rtc_tlr1 is set to generate a 1 s interval, while rtc_tlr2 is set to generate a 100 ms interval. the rtc is then enabled and whenever the rtc timer reaches the value 0x00 it generates an interrupt and the timer value is automatically re - loaded from register rtc_tlr1 or rtc_tlr2 register depending on the pattern regi ster setting. the pattern size is set to 8 bits and the pattern is set to 0b11110010, so the rtc generates four intervals with the rtc_tlr1 value followed by two rtc_tlr2 value intervals. the pattern repeats itself and the rtc interrupt routine toggles led dl1 (io6). 15.6 spi examples the following spi application examples are available: master polling : involves a master board with the master_polling firmware code and a slave board with t he slave_polling firmware. the master board has a small command line interface through uart (usb - to - serial must be connected to the pc), which you can use to read and change the led status of the slave board via spi. the spi is configured in master mode an d the spi clock set to 100 khz. the data is transferred in the motorola format with an 8 - bit data frame, with clock low when inactive (cpol=0) and data valid on clock trailing edge (cpha = 1). slave polling : spi communication is controlled by polling the s pi status register content. this also involves a master and a slave board with respective master_polling and slave_polling firmware. the slave board receives read and change requests for the leds via spi. the spi is configured in slave mode and the spi clo ck set to 100 khz. the data is transferred in the motorola format with an 8 - bit data frame, with clock low when inactive (cpol=0) and data valid on clock trailing edge (cpha = 1). master sensor : spi communication is controlled by polling of the spi status register content, interrupts or dma (3 different configurations). spi is used to communicate with the lsm6ds3 inertial sensor spi interface. whenever the sensor generates an irq, the accelerometer and gyroscope output data are read and printed through uart (usb - to - serial must be connected to the pc).
UM2071 bluenrg - 1 peripheral driver examples docid029370 rev 3 45 / 56 the spi is configured in master mode and the spi clock set to 100 khz. the data is transferred in the motorola format with an 8 - bit data frame, with clock low when inactive (cpol=0) and data valid on clock trai ling edge (cpha = 1). master dma : spi communication is controlled by dma of the spi status register content. it involves a master board with the master_dma firmware code and a slave board with the slave_dma firmware. the master board has a small command li ne interface through uart (usb - to - serial must be connected to the pc), which you can use to read and change the led status of the slave board via spi. the spi is configured in master mode and the spi clock set to 100 khz. the data is transferred in the mot orola format with an 8 - bit data frame, with clock low when inactive (cpol=0) and data valid on clock trailing edge (cpha = 1). slave dma : spi communication is controlled by dma of the spi status register content. it involves a master board with the master_ dma firmware code and a slave board with the slave_dma firmware. the slave board receives read and change requests for the leds via spi. the spi is configured in slave mode and the spi clock set to 100 khz. the data is transferred in the motorola format wi th an 8 - bit data frame, with clock low when inactive (cpol=0) and data valid on clock trailing edge (cpha = 1). 15.7 systick examples time base : the interrupt service routine toggles the user leds at approximately 1 s intervals. 15.8 timers examples mode 1 : timer/counter 1 (tncnt1) functions as the time base for the pwm timer and counts down at the cloc k rate selected by the timer/counter 1 clock selector. when an underflow occurs, the timer register is reloaded alternately from the tncra (first reload) and tncrb registers and count down begins from the loaded value. timer/counter 2 can be used as a sim ple system timer, an external - event counter, or a pulse - accumulate counter. counter tncnt2 counts down with the clock selected by the timer/counter 2 clock selector, and can be configured to generate an interrupt upon underflow. mftx1 and mftx2 use prescal ed clock as timer/counter 1. the io2 pin is configured as output, generating a signal with 250 ms positive level and 500 ms negative level via mftx1. the io3 pin is configured as output, generating a signal with 50 ms positive level and 100 ms negative lev el via mftx2. timer/counter 1 interrupts upon reload are enabled for mftx1 and mftx2; interrupt routines toggle led dl1 for mftx1 and led dl2 for mftx2. mode 1a (pulse - train mode): the timer/counter 1 functions as pwm timer and timer/counter 2 is used as a pulse counter that defines the number of pulses to be generated. in this example, mftx2 is configured to generate 30 pulses with positive level of 500 ms and negative level of 250 ms. mftx2 uses prescaled clock as timer/counter 1. the io3 pin is configur ed as output generating the number of pulses configured. interrupts tna and tnb are enabled and toggle gpio 8 and 10, while interrupt tnd is enabled and sets gpio 7. a software start trigger or external rising or falling edge start trigger can be selected. this example uses a software trigger which is generated after system configuration.
bluenrg - 1 peripheral driver examples UM2071 46 / 56 docid029370 rev 3 timer/counter 1 interrupts on reload are enabled for mftx1. interrupt routines toggle led dl1 for mftx2. mode 2 (dual - input capture mode): timer/counter 1 counts down with the selected clock and tna and tnb pins function as capture inputs. transitions received on the tna and tnb pins trigger a transfer of timer content to the tncra and tncrb registers, respectively. timer/counter 2 counts down with selected clock and can ge nerate an interrupt on underflow. in this example, mftx1 is used. the cpu clock is selected as the clock signal for timer/counter 1 and a prescaled clock is used as the clock source for timer/counter 2. sensitivity to falling edge is selected for tna and t nb inputs; counter preset to 0xffff is disabled for both inputs. the io2 pin is internally connected to tna input (mftx1) and the io3 pin is internally connected to tnb input (mftx1). interrupts tna and tnb are enabled and triggered by transitions on pins tna and tnb, respectively. the interrupt routine records the value of tncra or tncrb and calculates the period of the input signal every second interrupt. interrupt tnc is enabled and is triggered on each underflow of timer/counter1; it increments the unde rflow counter variables used to calculate the input signal period. led dl1 is toggled on if a frequency of about 1 khz is detected on io2, and led dl2 is toggled on if a frequency of about 10 khz is detected on io3. mode 3 (dual independent timer/counter): the timer/counter is configured to operate as a dual independent system timer or dual external - event counter. timer/counter 1 can also generate a 50% duty cycle pwm signal on the tna pin, while the tnb pin can be used as an external - event input or pulse - a ccumulate input, and serve as the clock source to either timer/counter 1 or timer/counter 2. both counters can also be operated from the prescaled system clock. in this example mftx1 is used. the cpu clock is selected as the clock signal for timer/counter 1, while timer/counter 2 uses an external clock on tnb pin. sensitivity to rising edge is selected for tnb input. timer/counter 1 is preset and reloaded to 5000, so the frequency of the output signal is 1 khz. timer/counter 2 is preset and reloaded to 5. t he io3 pin is internally connected to tna input (mftx1), while the io2 pin is configured as output and configured as the pwm output from timer/counter 1. the led dl1 is toggled in the main program according to a variable which is changed in tnd interrupt r outine. interrupt tna and tnd are enabled and are triggered on the underflow of timer/counter1 and timer/counter2 respectively. mode 4 (input - capture plus timer): is a combination of mode 3 and mode 2, and makes it possible to operate timer/counter 2 as a single input - capture timer, while timer/counter 1 can be used as a system timer as described above. in this example, mftx1 is used. the cpu clock is selected as the input clock for timer/counter 1 and timer/counter 2. automatic preset is enabled for timer/ counter 2. the io2 pin is internally connected to the tnb input (mftx1), while the io3 pin is configured as the output and configured as the pwm output from timer/counter 1. interrupt tna is enabled and triggered on the underflow of timer/counter1; it sets a new value in the tncra register. interrupt tnb in enabled and triggered when a transition on tnb input (input capture) is detected; it saves the tncrb value. interrupt tnd in enabled and it triggered on the underflow of timer/counter2.
UM2071 bluenrg - 1 peripheral driver examples docid029370 rev 3 47 / 56 mft timers: this example shows how configure peripherals mft1, mft2 and systick to generate three timer interrupts at different rate: mft1 at 500 ms, mft2 at 250 ms and systick at 1 second. 15.9 uart examples dma : io8 and io11 are configured as uart pins and dma receive and transmit requests are enabled. each byte received from uart is sent back through uart in an echo application (usb - to - serial must be connected to the pc). interrupt : io8 and io11 are conf igured as uart pins and receive and transmit interrupts are enabled. each byte received from uart is sent back through uart in an echo application (usb - to - serial must be connected to the pc). polling : io8 and io11 are configured as uart pins. each byte rec eived from uart is sent back through uart in an echo application (usb - to - serial must be connected to the pc). 15.10 wdg examples reset : demonstrates the watchdog functionality and using i t to reboot the system when the watchdog interrupt is not serviced during the watchdog period (interrupt status flag is not cleared). the watchdog is configured to generate the interrupt with a 15 s interval, then it is enabled and monitors the state of th e push1 button (io13 pin). any change on this pin triggers the watchdog counter to reload and restart the 15 s interval measurement. if the io13 pin state does not change during this interval, the watchdog generates an interrupt that is intentionally not c leared and therefore remains pending; the watchdog interrupt service routine is therefore called continuously and the system is stuck in the watchdog interrupt handler. the chip is reset as it can no longer execute user code. the second watchdog timeout tr iggers system reboot as a new watchdog interrupt is generated while the previous interrupt is still pending. the application then starts measuring the 15 s interval again. the three user leds are toggled at increasing frequencies until the board is reset o r push1 button is pressed, which restores the leds toggling frequency with the 15 s watchdog timer. wakeup : the watchdog timer is a 32 - bit down counter that divides the clock input (32.768 khz) and produces an interrupt whenever the counter reaches zero. t he counter is then reloaded with the content of the wdt_lr register. if the interrupt status flag is not cleared and a new interrupt is generated, then the watchdog may generate a system reset. this example demonstrates the use of the watchdog to periodica lly wake the system from standby mode using the watchdog interrupt. the watchdog is configured to generate the interrupt at 1 s intervals. the watchdog is then enabled and the system is switched to the standby mode. as soon as the watchdog interrupt is gen erated, the system wakes up, led1 (io6 pin) is toggled and the device returns to standby mode. the io6 pin is therefore toggled every 1 s.
schematic diagrams UM2071 48 / 56 docid029370 rev 3 16 schematic diagrams figure 22 : steval - idb007v1 arduino connectors figure 23 : steval - idb007v1 jtag st link: 3.0-3.6v, 5v tolerant iar j-link: 1.2-3.6v, 5v tolerant male connector 2x10 hdr straight rs 473-8282 jta g jt m s - s w t d i o jt ck - s w t c k d i o 0 d i o 1 rese t n g n d vblu e cn 7 s w d 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 gspg 1 105161505sg arduin o connector s d i o 0 d i o 1 2 d i o 1 d i o 7 d i o 5 d i o 0 rese t n d i o 2 d i o 3 d i o 8 d i o 4 rese t n d i o 6 d i o 3 d i o 2 d i o 1 1 d i o 8 d i o 1 1 adc 1 adc 2 d i o 1 3 d i o 1 4 t es t 1 vblu e vblu e r2 5 0_040 2 r 1 0_040 2 r 2 0_040 2 cn 1 n c 1 2 3 4 5 6 7 8 9 1 0 r 6 0_040 2 r 8 0_040 2 r 7 0_040 2 r2 2 0_040 2 r1 8 0_040 2 r1 1 0_040 2 r 9 0_040 2 r2 4 0_040 2 r 4 0_040 2 r2 0 0_040 2 r 3 0_040 2 r1 3 0_040 2 r1 2 0_040 2 cn 4 n c 1 2 3 4 5 6 r1 4 0_040 2 r1 5 0_040 2 r1 9 0_040 2 r1 7 0_040 2 cn 3 n c 1 2 3 4 5 6 7 8 r1 0 0_040 2 cn 2 n c 1 2 3 4 5 6 7 8 r1 6 0_040 2 r 5 0_040 2 r2 1 0_040 2 r2 3 0_040 2 gspg 1 105161500sg
UM2071 schematic diagrams docid029370 rev 3 4 9 / 56 figure 24 : steval - idb007v1 bluenrg - 1
schematic diagrams UM2071 50 / 56 docid029370 rev 3 figure 25 : steval - idb007v1 power management, sensors green power managemen t sensor s usb_5v sp i _ o u t spi_in sp i _c s sp i _cl k dio12 i2c2_dat i2c2_clk vdd vblue vblue vblue vblue vblue vblue vblue vblue c23 33 n _0402 jp1 j u mper 3 1 2 3 r34 10k_0402 r37 0_0402 c22 1 u _0402 r42 0_0402 r35 0_0402 r31 0_0402 u7 lsm6ds3 sdo/sa0 1 sdx 2 scx 3 int1 4 vdd i o 5 g n d 6 g n d 7 sd a 1 4 sc l 1 3 c s 1 2 nc 11 ocs 10 int2 9 vdd 8 r28 470_0402 c32 100 n _0402 jp2 j u mper 3 1 2 3 u3 lds3985pu33r v i n 1 n.c. 2 vo u t 3 v i n h 6 g n d 5 bypass 4 g n d 7 c27 4.7 u _0603 c30 100 n _0402 dl4 r38 0_0402 r36 10k_0402 c28 100 n _0402 r4 1 0_0402 batt battery h o l der c29 100 n _0402 r39 0_0402 c31 100 n _0402 u6 lps25hb vddio 1 scl 2 re s 3 sd a 4 sa 0 5 cs 6 int_drdy 7 g n d 8 g n d 9 vd d 1 0 c24 2.2 u _0402 gspg 1 105161525sg
UM2071 schematic diagrams docid029370 rev 3 51 / 56 figure 26 : steval - idb007v1 buttons and leds
schematic diagrams UM2071 52 / 56 docid029370 rev 3 figure 27 : steval - idb007v1 micro micr o vlcd osc_in osc_out nrst vdda usbdm usbdp vdd 3 vdd 1 vdd2 vlcd vdd1 vdd2 vdda nrst vdd3 jtms jt c k jt d i jt d o t x d1 rx d oe usart1_rx usart1_tx usart1_tx usart1_rx osc_in osc_out pb 2 sp i _cs 1 sp i _clk 1 sp i _ o u t 1 sp i _ i n 1 1-2sel 3-4sel dio7 rese t n vdd vdd vdd vdd vdd vdd c40 100 n _0402 c37 100 n _0402 c39 1 u _0402 c38 100 n _0402 jp3 usart 1 2 3 c42 20p_0402 u8 stm32l151cbu6 vlcd 1 pc13 rtc_af1- w kup2 2 pc14-osc32_in 3 pc15-osc32_out 4 ph0-osc_in 5 ph1-osc_out 6 nrst 7 vssa 8 vdda 9 pa0- w kup1 10 pa1 11 pa2 12 pa 3 1 3 pa 4 1 4 pa 5 1 5 pa 6 1 6 pa 7 1 7 pb 0 1 8 pb 1 1 9 pb 2 2 0 pb1 0 2 1 pb1 1 2 2 vss_ 1 2 3 vdd_ 1 2 4 vdd_ 3 4 8 vss_ 3 4 7 pb 9 4 6 pb 8 4 5 b oo t 0 4 4 pb 7 4 3 pb 6 4 2 pb 5 4 1 pb 4 4 0 pb 3 3 9 pa1 5 3 8 pa1 4 3 7 vdd_2 36 vss_2 35 pa13 34 pa12 33 pa11 32 pa10 31 pa9 30 pa8 29 pb15 28 pb14 27 pb13 26 pb12 25 g n d 4 9 c35 100 n _0402 c41 1 u _0402 r47 10k_0402 c43 20p_0402 x 1 8mhz c36 100 n _0402 r51 1m_0402 gspg 1 105161540sg
UM2071 schematic diagrams docid029370 rev 3 53 / 56 figure 28 : steval - idb007v1 usb, level translator, jtag for micro us b jtag for micr o jtms jtck jtdo jtdi dm dp usbdp usbdm dp dm usb_5v vdd vdd r44 0_0402 cn5 usb m i cro b vcc 1 d- 2 d+ 3 id 4 gnd 5 gnd 6 gnd 7 gnd 8 gnd 11 gnd 10 gnd 9 c33 100 n _0402 u9 usblc6-2sc6 i/o11 1 gnd 2 i/o21 3 i/o22 4 vbus 5 i/o12 6 cn6 conn 1 2 3 4 5 6 7 8 9 10 r45 0_0402 r43 nc level translato r oe r x d t x d1 pb2 t x d spi_cs1/r x d dio7 vdd vblue u10 st2378e vl 1 i/ov l 1 2 i/ovcc2 3 i/ov l 3 4 i/ovcc4 5 i/ov l 5 6 i/ovcc6 7 i/ov l 7 8 i/ovcc8 9 g n d 10 vcc 20 i/ovcc1 19 i/ov l 2 18 i/ovcc3 17 i/ov l 4 16 i/ovcc5 15 i/ov l 6 14 i/ovcc7 13 i/ov l 8 12 oe 11 r4 9 0_0402 r52 0_0402 r50 10k_0402 r48 0_0402 gspg 1 105161600sg
schematic diagram s UM2071 54 / 56 docid029370 rev 3 figure 29 : steval - idb007v1 eeprom 1-2sel spi_cs1 spi_clk1 spi_out1 spi_in1 3-4sel spi_in spi_out spi_clk spi_cs1/r x d vdd tp2 gnd r61 0_0402 tp3 gnd r5 8 10k_0402 r62 0_0402 r64 10k_0402 r63 10k_0402 u11 stg3692 1s2 1 vcc 2 1-2sel 3 2s1 4 d 2 5 2s 2 6 3s 1 7 d 3 8 d 1 1 6 1s 1 1 5 4s 2 1 4 d 4 1 3 4s1 12 gnd 11 3-4sel 10 3s2 9 r5 9 0_0402 c45 100 n _0402 r5 6 10k_0402 tp1 gnd r6 0 0_0402 r46 10k_0402 r57 10k_0402 gspg 1 105161605sg 1-2sel=3-4sel=h => spi connected t o the bluenrg-1 1-2sel=3-4sel= l => spi no t connected t o the bluenrg-1
UM2071 revision history docid029370 rev 3 55 / 56 17 revision history table 8: document revision history date version changes 06 - jun - 2016 1 initial release. 08 - nov - 2016 2 added section 11: "bluenrg - 1 sensor profile central demo" and description for adc dma, pdm and mft timers. 23 - dec - 2016 3 updated figure 1: "steval - idb007v1 development platform" and figure 2: "steval - id b007v1 board components" .
UM2071 56 / 56 docid029370 rev 3 important notice C please read carefully stmicroelectronics nv and its subsidiaries (st) reserve the right to make changes, corrections, enhancements, modifications , and improvements to st products and/or to this document at any time without notice. purchasers should obtain the latest relevant information on st products before placing orders. st products are sold pursuant to sts terms and conditions of sale in place at the time of or der acknowledgement. purchasers are solely responsible for the choice, selection, and use of st products and s t assumes no liability for application assistance or the design of purchasers products. no license, express or implied, to any intellectual property right is granted by st herein. resale of st products with provisions different from the information se t forth herein shall void any warranty granted by st for such product. st and the st logo are trademarks of st. all other product or service names are the property of their respective owners. information in this document supersedes and replaces information previously supplied in any prior versions of this document. ? 2016 stmicroelectronics C all rights reserved


▲Up To Search▲   

 
Price & Availability of UM2071

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X